import csv
import random
import numpy as np
import jieba #分词器
class Utils:
    # 加载停用词表，返回一个set集合，set包含了所有的停用词
    def lodeStopWords(self,path):
        stop_words = []
        with open(path, encoding='UTF-8') as words:
            stop_words.extend([i.strip() for i in words.readlines()])
        return  set(stop_words) #无序不重复

    # 加载数据集
    #corpus_path：数据集路径
    #encoding：数据集编码
    def load_corpus(self,corpus_path,encoding="utf-8"):
        with open(corpus_path, 'r',encoding=encoding) as f:
            reader = csv.reader(f)
            rows = [row for row in reader]
        review_data = np.array(rows).tolist()
        # 打乱数据顺序
        random.shuffle(review_data)
        review_list = []
        sentiment_list = []
        for words in review_data:
            review_list.append(words[1])  # 数据集的中文文本部分，保存在这个数组中
            sentiment_list.append(int(words[0]))  # 数据集的数字部分，与上面的相对应
        return review_list, sentiment_list